<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .modal {
          width: 300px;
          min-height: 100px;
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
          border-radius: 4px;
          position: fixed;
          z-index: 999;
          left: 50%;
          top: 50%;
          transform: translate3d(-50%, -50%, 0);
          background-color: #fff;
        }
     
        .modal .header {
          line-height: 40px;
          padding: 0 10px;
          position: relative;
          font-size: 20px;
        }
     
        .modal .header i {
          font-style: normal;
          color: #999;
          position: absolute;
          right: 15px;
          top: -2px;
          cursor: pointer;
        }
     
        .modal .body {
          text-align: center;
          padding: 10px;
        }
     
        .modal .footer {
          display: flex;
          justify-content: flex-end;
          padding: 10px;
        }
     
        .modal .footer a {
          padding: 3px 8px;
          background: #ccc;
          text-decoration: none;
          color: #fff;
          border-radius: 2px;
          margin-right: 10px;
          font-size: 14px;
        }
     
        .modal .footer a.submit {
          background-color: #369;
        }
      </style>
</head>
<body>
    <button id="delete">删除</button>
    <button id="login">登录</button>
    
    <!-- <div class="modal">
        <div class="header">温馨提示 <i>x</i></div>
        <div class="body">您没有删除权限操作</div>
    </div> -->

    <script>
        ///1. 模态框的构造函数
        function Modal(title = '', message = ''){
            //公共的属性部分
            this.title = title
            this.message = message
            //因为盒子是公共的
            //1. 创建 一定不要忘了加this
            this.modalBox = document.createElement('div')
            //2.添加类名
            this.modalBox.className = 'modal'
            //3.填充内容
            this.modalBox.innerHTML = `
                <div class="header">${this.title} <i>x</i></div>
                <div class="body">${this.message}</div>
        
            `
        }
        //2. 打开方法 挂载到 模态框的构造函数原型身上
        Modal.prototype.open = function(){
            //把刚才渲染的盒子 modalBox 渲染到页面当中   父元素.appendChild(子元素)
            document.body.appendChild(this.modalBox)
            //获取 x 调用关闭方法
            this.modalBox.querySelector('i').addEventListener('click', () => {
                this.close()
            })
        }
        //3. 关闭方法 挂载到 模态框的构造函数原型身上
        Modal.prototype.close = function(){
            //父元素.removeChild(子元素)
            document.body.removeChild(this.modalBox)
            
        }
        //4. 按钮点击
        document.querySelector('#delete').addEventListener('click', () => {
            const m = new Modal('温馨提示', '你没有权限删除')
            //调用打开方法
            m.open()
        }) 
        //5. 按钮点击
        document.querySelector('#login').addEventListener('click', () => {
            const m = new Modal('友情提示', '你还没有注册账号')
            //调用打开方法
            m.open()
        }) 
    </script>
 
</body>
</html>